package com.jess.arms.callback;

import com.jess.arms.callback.EmptyCallback;
import com.jess.arms.callback.ErrorCallback;
import com.jess.arms.callback.LoadingCallback;
import com.jess.arms.callback.LottieEmptyCallback;
import com.jess.arms.callback.LottieLoadingCallback;
import com.jess.arms.callback.PlaceholderCallback;
import com.jess.arms.callback.TimeoutCallback;
import com.kingja.loadsir.callback.SuccessCallback;
import com.kingja.loadsir.core.LoadSir;

/**
 * author : Alex
 * e-mail : xys9786@outlook.com
 * date   : 2020/5/413:40
 * desc   : LoadSir 统一初始化类
 * version: 1.0
 */
public class LoadSirManagement {

    /***
     *  popup window
     *  弹框中的 错误布局   加载超时布局   lottie 空布局  和 加载布局
     * @return
     */
    public static LoadSir initPopLoadSir() {
        LoadSir loadSir = new LoadSir.Builder()
                .addCallback(new ErrorCallback())
                .addCallback(new LottieEmptyCallback())
                .addCallback(new LottieLoadingCallback())
                .addCallback(new TimeoutCallback())
                .addCallback(new CustomCallback())
                .addCallback(new EmptyCallback())
                .build();
        return loadSir;
    }


    /***
     *  Fragment
     *  弹框中的 错误布局   加载超时布局   lottie 空布局  和 加载布局
     * @return
     */
    public static LoadSir initFragmentLoadSir() {
        LoadSir loadSir = new LoadSir.Builder()
                .addCallback(new ErrorCallback())
                .addCallback(new LottieEmptyCallback())
                .addCallback(new LottieLoadingCallback())
                .addCallback(new TimeoutCallback())
                .addCallback(new CustomCallback())
                .addCallback(new EmptyCallback())
                .build();
//    .setDefaultCallback(LottieLoadingCallback.class)
        return loadSir;
    }


    /***
     *  Activity
     *  弹框中的 错误布局   加载超时布局   lottie 空布局  和 加载布局
     * @return
     */
    public static LoadSir initActivityLoadSir() {
        LoadSir loadSir = new LoadSir.Builder()
                .addCallback(new ErrorCallback())
                .addCallback(new LottieEmptyCallback())
                .addCallback(new LottieLoadingCallback())
                .addCallback(new TimeoutCallback())
                .addCallback(new CustomCallback())
                .addCallback(new EmptyCallback())
                .build();
// .setDefaultCallback(LottieLoadingCallback.class)
        return loadSir;
    }
}
